Code phase signals and carrier phase signals in a Satellite Positioning System (SATPS), such as GPS or GLONASS, are subject to multipath signal errors. A code phase signal for GPS has an associated wavelength of 300 meters and 30 meters for C/A code and P code, respectively, and a typical multipath-based code phase location error will be about 1-10 percent of this wavelength. Spatially separating two SATPS antennas, which is usually done in differential SATPS operations, will often subject the signals received at each of these two antennas to multipath perturbations with different amplitudes and different phases.
Code phase signals are used in SATPS applications to provide a reasonably accurate measurement of a vector separating two SATPS antennas. Random noise in a code phase signal typically produces a location error of about .+-.(5-100) cm with zero mean for a one-second signal time average and is produced by thermal and atmospheric fluctuations in the signal path. With multipath signals absent, thermal and atmospheric fluctuations and atmospheric and antenna phase center delays would be the limiting factors on accuracy. Multipath signal error is thus an important factor in precise determination of a vector separating two SATPS antennas.
The intensity, phase and period of the multipath signals depends upon the physical environment in which the SATPS antenna operates. An environment in which relatively large multipath signals enter the antenna will cause correspondingly large code phase multipath signal errors. The multipath phase change, produce by a multipath signal that adds to or subtracts from the direct, undistorted signal, depends upon the relative rates of motion of the antenna and reflecting surface(s), the physical nature of the reflecting surface(s) and the satellite motion, among other things.
Previous attempts to mitigate, or compensate for, the effects of multipath signals on the ability of a two-receiver system to provide a precise measure of the separation vector have applied one of several operational approaches. In a first approach, the receiving antenna pattern is altered so that signal reflections from objects located at or near ground level are reduced. This approach usually requires use of physically large, and a fortiori non-portable, antennas and offers no mitigation for multipath signals received from reflecting surfaces that are located high off the ground. A second approach is to perform signal time averaging to reduce the multipath effects, with typical averaging times of 600-900 sec to significantly reduce multipath signal errors. This approach cannot be used for dynamic determination of the separation vector with a moving antenna.
Methods employed to acquire and demodulate data from spread spectrum transmissions is well known in the art See R. E. Ziemer and R. L. Peterson, Digital Communications and Spread Spectrum Systems, Macmillan Publ Co., New York, 1985, pp. 419-447 for a discussion of acquisition and demodulation of spread spectrum signals. A spread spectrum GPS receiver must obtain both code and carrier synchronization in order to demodulate the desired data successfully. Issues associated with tracking and accurately demodulating a spread spectrum signal, once the signal is acquired, are discussed in many references on GPS, such as Alfred Leick, GPS Satellite Surveying, John Wiley & Sons, New York, Second Edition, 1995, and Ziemer and Peterson, op cit.
A GPS signal contains a 50 bit/second navigation message and a unique spreading code (C/A) of length 1.023 kilobits, which is transmitted at a frequency of about 1.023 Mbits/sec. Signal acquisition requires that phase lock first occur with the radio frequency carrier and that the reference or local replica signal be synchronized with the spreading code. In signal synchronization, a local replica of the particular satellite code is synchronized in time with the incoming satellite signal code. A GLONASS signal is similar but relies on carrier frequency differences to discriminate between signals received from different satellites.
Once the Doppler error in the downlink signal from the satellite is appropriately compensated for and signal synchronization is obtained, the navigation message in the 50 bit/second modulation that forms the composite GPS signal (direct plus multipath) can be demodulated. This navigation message contains data on the satellite ephemerides and time pulses that indicate when the transmission originated from the satellite. By measuring the difference between the local clock time and the indicated satellite time of transmission, the time delay, and thus the instantaneous distance from GPS receiver to satellite, can be obtained by multiplying this time delay by the speed of light in the ambient medium.
Signal synchronization is performed using a signal correlator. The correlator constantly compares the incoming signal with a local replica of the desired signal; a microprocessor adjusts a time shift .tau. of the local replica signal until satisfactory agreement is obtained. Because the incoming signal and the local replica signal are substantially identical, a measure of the degree of agreement of these two signals is often referred to as an autocorrelation function. A variety of autocorrelation functions AC(.tau.) are shown in various texts, and an example is shown in FIG. 1. An autocorrelation function AC(t) is often formed according to the prescription ##EQU1##
depending upon whether integration or summation of sampled values over a suitable contribution time interval is used to compute the composite signal autocorrelation function. The length T of the contribution time interval used to compute the autocorrelation function in Eq. (1A) or (1B) is often chosen to be N times the chip length .DELTA..tau..sub.chip, where N is a large positive number.
Tracking the composite satellite signal requires maintaining signal synchronization. The peak of the autocorrelation function is rounded rather than pointed, due to finite bandwidth effects, so that locating a true peak is difficult. Some receiver designers have, therefore, resorted to an "early-minus-late" autocorrelation tracking method, as discussed by W. M. Bowles in "Correlation Tracking," Charles Stark Draper Laboratory, May 1980, by Fenton et al in U.S. Pat. Nos. 5,101,416, 5,390,207, 5,414,729 and 5,495,499, and by Lennen in U.S. Pat. Nos. 5,402,450 and 5,493,588.A multipath limitation method, such as described in the Lennen patent, op. cit., operates the early-minus-late autocorrelation tracking loop with a shorter delay between the early signal and late signal correlators than previous methods had employed. This limitation method reduces the effects of the presence of multipath substantially.
In one early-minus-late tracking method, a first correlator measures an equivalent autocorrelation function when the local replica signal is shifted to an "early" time t.sub.E relative to the position (.tau.=tp) of an ideal or punctual replica, and a second correlator measures a second equivalent autocorrelation function when the local replica signal is shifted to a "late" time t.sub.L. Early and late replicas of the punctual autocorrelation function AC(.tau.;P) are also illustrated in FIG. 1. By subtracting the late autocorrelation function from the early autocorrelation function, an autocorrelation tracking function or autocorrelation difference function .DELTA.AC(.tau.) with a zero crossing, corresponding to the autocorrelation function peak can be developed, if the separations of the early and late time shifts from the punctual time shift are chosen to be equal. This early-minus-late approach is not used here, because the focus is on quantitatively identifying a multipath signal, if one is present.
Superposition of an equivalent autocorrelation function for the multipath signal (reduced in magnitude and delayed in time) onto the autocorrelation function AC(.tau.) for the desired satellite code signal is a useful model for analyzing the effects of presence of multipath signals, as noted in the Fenton et al patent and in the Lennen patent, op. cit. Superposition of any additional signal onto the desired incoming signal, during the time period when signal correlation occurs, will distort the desired autocorrelation function AC(.tau.;direct) and produce an altered autocorrelation function AC(.tau.;composite) for the composite signal (direct plus multipath).
An autocorrelation function for an uncorrupted or "pure" direct signal is shown along with a representative, attenuated and time delayed, multipath autocorrelation function for positive relative polarity, compared to the direct signal, in FIG. 2A. The autocorrelation for the composite, corrupted incoming signal is obtained by summing the two autocorrelation functions and is compared with the uncorrupted autocorrelation function in FIG. 2B FIGS. 2C and 2D are similar graphs, showing the autocorrelation function for a multipath signal with negative relative polarity, compared to the direct signal. Any such distortion produces errors in the indicated zero-crossing point on the early-minus-late autocorrelation tracking function. These errors in indicated punctual time shift produce errors in the pseudorange measurements, and will in turn produce an error in the final computed estimate of location coordinates for the receiver.
Previous work in the area of multipath amelioration has focussed on two approaches: 1) estimating the effects and compensating for multipath-induced errors, and 2) attempting to limit or suppress the effects of the estimated multipath errors. In the Lennen patents, op. cit., both approaches are described. The estimation methods seek to model the distortions to the instantaneous autocorrelation function and to create a correction term to subtract from the indicated punctual time. Estimation methods are worthwhile but can never obtain perfection, wherein all multipath effects are removed, because the multipath signals are constantly varying and corrections can only be done after the fact. However, a major part of a multipath signal can often be removed by estimation, because a multipath signal often changes relatively slowly with time.
Several workers have analyzed autocorrelation functions and/or have used pseudorandom signal sequences in attempting to estimate or suppress the effects of the presence of multipath signals. Examples of this work is disclosed by Winters in U.S. Pat. No. 4,007,330, Tomlinson in U.S. Pat. No. 4,168,529, Bowles et al in U.S. Pat. Nos. 4,203,070 and 4,203,071, Guignon et al in U.S. Pat. No. 4,550,414, Dickey et al in U.S. Pat. No. 4,608,569, Liebowitz in U.S. Pat. No. 4,660,164, Borth et al in U.S. Pat. No. 4,829,543, McIntosh in U.S. Pat. No. 4,862,478, Broekhoven et al in U.S. Pat. No. 4,894,842, Wales in U.S. Pat. No. 5,091,918, Fenton et al in U.S. Pat. Nos. 5,101,416, 5,390,207, 5,414,729 and 5,495,499, Cai et al in U.S. Pat. No. 5,164,959, Scott et al in U.S. Pat. No. 5,282,228, Meehan in U.S. Pat. No. 5,347,536, Lennen in U.S. Pat. Nos. 5,402,450 and 5,493,588, Johnson et al in U.S. Pat. No. 5,444,451, Kuhn et al in U.S. Pat. No. 5,481,503, and Fox et al in U.S. Pat. No. 5,488,662.
These approaches do not determine or isolate multipath signal perturbations to a "clean" pseudorange signal and do not provide real time capability for initially identifying and assisting lock-on to, or for re-locking to, a given SATPS satellite. What is needed is an approach that allows code phase multipath signal errors to be determined quickly and quantitatively, in a time interval of length considerably less than one sec, that maintains portability of the SATPS ground equipment, and that is flexible enough to adapt to whatever is the present situation.